Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php][MySQL] Plan lekcji, co w bazie ??
ahilles107
post
Post #1





Grupa: Zarejestrowani
Postów: 35
Pomógł: 0
Dołączył: 8.09.2007
Skąd: Lubelskie

Ostrzeżenie: (0%)
-----


Witam (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Chciałbym zrobic plan lekcji w php (dla gimnazjum) - mozliwość dodawania klas i zmiany planu poprzez panel admina.
I nie wiem jak go zaprojektowac ;/ tzn. co dać w bazie i na jakiej zasadzie go zrobić (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)

Może ktoś juz cos takiego robił (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 13)
Hazel
post
Post #2





Grupa: Zarejestrowani
Postów: 492
Pomógł: 33
Dołączył: 16.08.2007
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Ja bym to zrobił troszkę wiejskim sposobem, ale możliwie chyba najlepszym. Jedna tabela, o kolumnach:

Klasa Poniedziałek Wtorek... itd.

W każdej kolumnie dotyczącej dnia masz odddzielone na przykład średnikami lekcje danej klasy, i formatujesz w PHP. Dla dużych projektów to niestosowne i musiałbyś pokombinować nad lepszą strukturą, ale tutaj powinno wystarczyć.
Pozdrawiam i życzę powodzenia...

P.S. Jak ktoś ma lepszy pomysł, to mnie uświadomcie (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)

Ten post edytował Hazel 12.10.2007, 19:53:56
Go to the top of the page
+Quote Post
ahilles107
post
Post #3





Grupa: Zarejestrowani
Postów: 35
Pomógł: 0
Dołączył: 8.09.2007
Skąd: Lubelskie

Ostrzeżenie: (0%)
-----


hmm ale w jednym dniu jest kilka lekcji ;/
Go to the top of the page
+Quote Post
Hazel
post
Post #4





Grupa: Zarejestrowani
Postów: 492
Pomógł: 33
Dołączył: 16.08.2007
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Cytat(Hazel)
W każdej kolumnie dotyczącej dnia masz odddzielone na przykład średnikami lekcje danej klasy, i formatujesz w PHP


Hm, coś niejasno napisałem?
Go to the top of the page
+Quote Post
ahilles107
post
Post #5





Grupa: Zarejestrowani
Postów: 35
Pomógł: 0
Dołączył: 8.09.2007
Skąd: Lubelskie

Ostrzeżenie: (0%)
-----


sorqa ;/ nie zaczaiłem.

a jakis inny sposób (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) coś bardziej elastycznego (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)
Go to the top of the page
+Quote Post
kamilw
post
Post #6





Grupa: Zarejestrowani
Postów: 35
Pomógł: 1
Dołączył: 21.03.2007

Ostrzeżenie: (0%)
-----


Tworzysz tabele z id każdej klasy i nazwą lub czym tam jeszcze chcesz.
A następnie 5 tabel z nazwami dni tygodnia.

Np Poniedziałek
Id klasy . lekcja1. Lekcja2. lekcja 3 itp

I potem formatujesz sobie w php.
Go to the top of the page
+Quote Post
Piotrwusek
post
Post #7





Grupa: Zarejestrowani
Postów: 399
Pomógł: 7
Dołączył: 11.06.2007
Skąd: Poznan

Ostrzeżenie: (20%)
X----


napisałem coś takiego ostatnio tylko ze do jednej klasy jakby Cię interesowało to daj z nać
Go to the top of the page
+Quote Post
Hazel
post
Post #8





Grupa: Zarejestrowani
Postów: 492
Pomógł: 33
Dołączył: 16.08.2007
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Cytat(kamilw @ 12.10.2007, 21:59:54 ) *
Tworzysz tabele z id każdej klasy i nazwą lub czym tam jeszcze chcesz.
A następnie 5 tabel z nazwami dni tygodnia.


(IMG:http://forum.php.pl/style_emoticons/default/blinksmiley.gif) (IMG:http://forum.php.pl/style_emoticons/default/blinksmiley.gif) (IMG:http://forum.php.pl/style_emoticons/default/blinksmiley.gif)

To już mój wiejski sposób lepszy...
Bo masz jedną tabelę zamiast wielu, a formatować w php i tak musisz...

@Piotrwusek
no jemu chodzi o wiele klas, jak dla jednej to żaden problem chyba...
Go to the top of the page
+Quote Post
Cienki1980
post
Post #9





Grupa: Przyjaciele php.pl
Postów: 1 590
Pomógł: 40
Dołączył: 11.01.2007
Skąd: Centrum

Ostrzeżenie: (0%)
-----


Jak dla mnie najlepszym rozwiązaniem bazy danych dla planu lekcji jest następujący ( podaje tylko główne pola w tabelach, zawsze można każdą tabelę rozbudować )


Tabela : przedmioty:
id - INT auto_increment,
nazwa - varchar

Tabela : klasy:
id - INT auto_increment,
nazwa - varchar

Tabela : nauczyciel:
id - INT auto_increment,
nazwisko - varchar,
imie - varchar

Tabela : plan:
id - INT auto_increment,
id_przedmiot - INT ( klucz obcy ),
id_klasa - INT ( klucz obcy ),
id_nauczyciel - INT ( klucz obcy ),
dzien - INT ( np znacznik dnia ( np. 0-6 zwracany przez PHP ))
godzina - ( pole jak kto woli, albo int albo varchar do zapisu startu lekcji )

Można to jeszcze uzupełnić o tabelę łączącą nauczycieli z przedmiotami:
Tabela : nauczyciel_przedmiot:
id - INT auto_increment,
id_przedmiot - INT (klucz obcy),
id_nauczyciel - INT (klucz obcy)
wtedy w tabeli plan pola id_przedmiot i id_nauczyciel można zastąpić id_nauczyciel_przedmiot.

Układ taki pozwala na pełną elastyczność zmian oraz rozszerzeń planu na więcej nauczycieli, przedmiotów i klas.

@Hazel skoro uważasz, że jedna tabela jest lepsza od wielu ... bo i tak obrabiasz w PHP ... to czas może zacząć sprawdzać jakie korzyści daje więcej tabel (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)
Go to the top of the page
+Quote Post
Hazel
post
Post #10





Grupa: Zarejestrowani
Postów: 492
Pomógł: 33
Dołączył: 16.08.2007
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


nie, nie, nie.

Jedna tabela na pewno nie jest lepsza od wielu. Weź przestań (IMG:http://forum.php.pl/style_emoticons/default/ph34r.gif)
Chodziło mi o to, że jedna tabela jest lepsza od kilku, jeśli mam mieć w jednej tabeli przedmioty oddzielone średnikami, albo w kilku tabelach to samo, to wolę już mieć jedną, bo formatowac i tak muszę. I nie wkopuj mnie w sprawy typu (może warto zapoznać się wreszcie z instrukcją echo?).

A Twój pomysł jest najlepszy spośród tych trzech rzuconych, bo nie trzeba wartości pola pobranego z bazy rozbijać według średników albo innych separatorów. I mimo że struktura dość skomplikowana, to faktycznie bardzo mi się podoba, gratuluję.
Go to the top of the page
+Quote Post
phpion
post
Post #11





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




Cytat(Hazel @ 14.10.2007, 14:07:11 ) *
A Twój pomysł jest najlepszy spośród tych trzech rzuconych, bo nie trzeba wartości pola pobranego z bazy rozbijać według średników albo innych separatorów. I mimo że struktura dość skomplikowana, to faktycznie bardzo mi się podoba, gratuluję.

Powiedziałbym więcej: jest to jedyny właściwy i poprawny sposób spośród tych podanych. Pozostałe to pełna amatorszczyzna (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
Hazel
post
Post #12





Grupa: Zarejestrowani
Postów: 492
Pomógł: 33
Dołączył: 16.08.2007
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Nie spamując zbytnio, dopiszę tylko, że masz zupełną rację, a przyznać Wam ją muszę w ramach kary za brak myślenia w poprzednim poście - bo jakbym pomyślał, sam bym wygłówkował. Pozdrawiam.
Go to the top of the page
+Quote Post
batman
post
Post #13





Grupa: Moderatorzy
Postów: 2 921
Pomógł: 269
Dołączył: 11.08.2005
Skąd: 127.0.0.1




Podstawowe tabele, których będziesz potrzebował to:
  • Klasy - informacje o klasach - identyfikator (numer), ilość uczniów, dodatkowe informacje (wedle uznania).
  • Sale - identyfikator (numer), ilość miejsc, dodatkowe wyposażenie.
  • Przedmioty - identyfikator, nazwa, dodatkowe informacje (wedle uznania).
  • Nauczyciele - identyfikator, imię, nazwisko, dodatkowe dane (wedle uznania).
Następnie potrzebujesz kilku relacji:
  • Sala_przedmiot - relacja między przedmiotami i salami. Dzięki temu angielski nie będzie się odbywał w sali WF i odwrotnie.
  • Nauczyciel_przedmiot - określa jaki nauczyciel prowadzi jaki przedmiot.
  • Klasa_przedmiot - przypisanie przedmiotów do klas. Nie od dziś wiadomo, że różne roczniki mają różne przedmioty.
Do tego dojdzie pomocnicza tabela (nie jest konieczna) - Dni. Dni mogą się przydać w przypadku zapytań, w których zamiast numerka, chcesz wyświetlić dzień tygodnia.

Na koniec najważniejsza tabela: Plan_zajec. W zasadzie wystarczy w tej tabeli zamieścić jako klucze obce wartości kluczy podstawowych z czterech pierwszych tabel i identyfikator dnia. Warto zadbać o integralność danych i przed dodawaniem czegoś do tej tabeli sprawdzić relacje (po to zostały one stworzone).

To chyba wszystko, co potrzebujesz do stworzenia bazy danych. Wiedz jednak, że porywasz się z motyką na słońce. Aplikacja taka to nie jest takie hop-siup. Jeśli będziesz układał ten plan ręcznie, to jeszcze pół biedy, jednak jeśli chcesz generować ten plan automatycznie, to szczerze życzę powodzenia.
Go to the top of the page
+Quote Post
tommy4
post
Post #14





Grupa: Zarejestrowani
Postów: 288
Pomógł: 12
Dołączył: 2.12.2005

Ostrzeżenie: (0%)
-----


U mnie to wygląda w ten sposób:

http://samorzad.8lo.pl/schemex.php

jedna tabela klasy, druga dni, trzecia godziny, czwarta lekcje

zajęcia wpisuje się ręcznie, panel wygląda tak:

(IMG:http://img132.imageshack.us/img132/32/asdfsw1.th.png)

(IMG:http://img132.imageshack.us/img132/2132/asdffi6.th.png)

Tabel nie będę rozpisywał, bo mi się nie chce;x
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 11.10.2025 - 21:52